<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of RepoAuditCargosImpl
 *
 * @author EADeveloper
 */
class RepoAuditCobrosImpl extends ReportDoc {

    function __construct() {
        $this->fields = array(
          array("label" => "DESCRIPCION", "name" => "DESCRIPCION", "type" => ReportDoc::$TIPO_LETRA, "width" => 60),
          array("label" => "NO. CTA.", "name" => "FK_ESTUDIANTE", "type" => ReportDoc::$TIPO_LETRA, "width" => 60),
          array("label" => "PARTIDA", "name" => "PARTIDA_CARGOS", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
          array("label" => "TIPO", "name" => "tcuenta", "type" => ReportDoc::$TIPO_LETRA, "width" => 30),
          array("label" => "ESTADO", "name" => "ESTADO", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
          array("label" => "FECHA", "name" => "fecha_emision", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
          array("label" => "MONTO", "name" => "VALOR", "type" => ReportDoc::$TIPO_LETRA, "width" => 20));
         
        $this->callbackSql = "cbSqlRepAuditoriaCobros"; //funcion que genera sql
        $this->callbackRow = NULL; //funcion para cada fila generada

        $this->paramPage = "reportes/rpt_auditcobros_param.php";
        $this->resultPage = "reportes/rpt_auditcobros_resultado.php";
        $this->rootPath = MODULES . DS;
        $this->key = "auditcobros";
        $this->label = "Auditacion Creditos";
        $this->tipoEjecucion = "D";
        $this->orientacion = "P";
    }

    public function cbRowAuditCobros() {
        $r = array();
        foreach ($this->lastResult as $row) {
            $nombre = getNombreCta($item["FK_ESTUDIANTE"], $item["tcuenta"], $this->db);
            $row["NOMBRE_CTA"] = $nombre;
            $r[] = $item;
        }
    }

    /**
     * 
     */
    public function cbSqlRepAuditoriaCobros() {
        EaPdfPrinter::$ORIENTACION = "landscape";

        $tipo = getParam("tipoconsulta");
        $codigo = getParam("codigo");
        $fini = getParam("fini");
        $estado = getParam("estado");
        if (!isEmpty($fini)) {
            $fini = explode("/", $fini);
            $fini = $fini[1] . "/" . $fini[0] . "/" . $fini[2];
        }
        $ffin = getParam("fini");
        if (!isEmpty($ffin)) {
            $ffin = explode("/", $ffin);
            $ffin = $ffin[1] . "/" . $ffin[0] . "/" . $ffin[2];
        }
        if (!isEmpty($codigo)) {
            $codigo = explode("-", $codigo);
            $codigo = $codigo[0];
        }
        $w = (isEmpty($tipo) || $tipo == "3") ? "" : " AND c.TIPO='$tipo'";
        $w = isEmpty($codigo) ? $w : "$w AND c.FK_ESTUDIANTE=$codigo";
        $w = isEmpty($fini) ? $w : "$w AND c.FECHA>='$fini'";
        $w = isEmpty($ffin) ? $w : "$w AND c.FECHA<='$ffin'";
        $w = isEmpty($estado) ? $w : "$w AND c.ESTADO='$estado'";
        $sqlE = $sqlB = "";
        $sqlB = "select d.DESCRIPCION, c.FK_ESTUDIANTE,c.TIPO tcuenta,c.ID,c.ESTADO,c.FECHA fecha_emision,
            c.VALOR,c.PARTIDA_CARGOS,
    e.RAZON_SOCIAL Nombre_cuenta
    from cllg_academico_cobros c,
         cllg_academico_cargos_detail d,
         cllg_benefactor e where c.FK_CARGO_DETAIL_ID=d.ID and e.ID=c.FK_ESTUDIANTE
    AND c.TIPO='BENEFACTOR' $w";
        $sqlE = "select d.DESCRIPCION, c.FK_ESTUDIANTE,c.TIPO tcuenta,c.ID,c.ESTADO,c.FECHA fecha_emision,c.VALOR,c.PARTIDA_CARGOS,
    concat(e.FIRST_NAME,' ', e.LAST_NAME) Nombre_cuenta
    from cllg_academico_cobros c,
         cllg_academico_cargos_detail d,
         cllg_student e where c.FK_CARGO_DETAIL_ID=d.ID and e.ID=c.FK_ESTUDIANTE
    AND c.TIPO='ESTUDIANTE' $w";

        if ($tipo == "ESTUDIANTE") {
            $sql = $sqlE;
        } else
        if ($tipo == "BENEFACTOR") {
            $sql = $sqlB;
        } else {
            $sql = "$sqlE UNION $sqlB";
        }
        $this->lastQuery = $sql;
    }

}

?>
